<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 是js的一个内置对象，提供了一些方法，可以让开发者通过调用这些方法，访问一些js的底层
        // 属性的赋值
        // Object.freeze() 冻结不可修改
        // const obj = Object.freeze({
        //     a:1
        // })

        const obj = {
             a:1
         }
        //  obj.a=2
        Reflect.set(obj,"a",10)
        console.log(Reflect.get(obj, "a"))

        // 调用函数
        function fn(a,b) {
            console.log(a + b , this.a)
        }
        // fn(4,5)//9 undefined

        Reflect.apply(fn, obj, [4,5])//9 10

        // 删除属性
        Reflect.deleteProperty(obj, "a")
        console.log(obj)

        // 调用构造函数
        function text(a,b){
            this.a=a
            this.b=b
        }
        let t = Reflect.construct(Text,[2,3])

        // 查询
        console.log(Reflect.has(obj,"a"))//faslse
    </script>
</body>
</html>